home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / +look_here_1st!+ / reader_requests / alienbreed3d2 / cheesesauce / pauseopts < prev    next >
Text File  |  1997-11-28  |  6KB  |  409 lines

  1.  
  2. ; Options:
  3. ; FAST buffer on/off
  4. ; Floors Gouraud/Textured/Plain
  5. ;
  6. ; FIRST HALVE SCREEN BRIGHTNESS
  7.  
  8. ; move.l frompt,pausept
  9. ; move.l olddrawpt,d3
  10. ; add.l #10,d3
  11. ; move.l d3,pbuffpt
  12.  
  13. ; bsr DRAWPAUSESCRN
  14.  
  15. ; move.l drawpt,d0
  16. ; move.l olddrawpt,drawpt
  17. ; move.l d0,olddrawpt
  18. ; move.l d0,$dff084    
  19. ; move.l drawpt,a3
  20. ; move.l COPSCRNBUFF,a3
  21. ; adda.w #10,a3
  22. ; move.l a3,frompt
  23. ; add.l #104*4*40,a3
  24. ; move.l a3,midpt
  25.  
  26. ;waitfortop:
  27. ; btst.b #0,intreqrl(a6)
  28. ; beq waitfortop
  29. ; move.w #$1,intreq(a6)
  30.  
  31. .waitpress
  32.  
  33. ; bsr CHANGEPOPTS
  34.  
  35.  cmp.b #'s',mors
  36.  beq.s .otherk
  37.  tst.b PLR1JOY
  38.  beq.s .NOJOY
  39.  jsr _ReadJoy1
  40.  bra .thisk
  41. .otherk:
  42.  tst.b PLR2JOY
  43.  beq.s .NOJOY
  44.   jsr _ReadJoy2
  45. .thisk:
  46. .NOJOY:
  47.  tst.b $19(a5)
  48.  bne.s .unp
  49.  btst #7,$bfe001
  50.  bne.s .waitpress
  51. .unp:
  52.  
  53. .wr2:
  54.  
  55.  
  56.  cmp.b #'s',mors
  57.  beq.s .otherk2
  58.  tst.b PLR1JOY
  59.  beq.s .NOJOY2
  60.  jsr _ReadJoy1
  61.  bra .thisk2
  62. .otherk2:
  63.  tst.b PLR2JOY
  64.  beq.s .NOJOY2
  65.   jsr _ReadJoy2
  66. .thisk2:
  67. .NOJOY2:
  68.  
  69.  tst.b $19(a5)
  70.  bne.s .wr2
  71.  btst #7,$bfe001
  72.  beq.s .wr2
  73.  
  74.  rts
  75.  
  76. CHECKUPDOWN
  77.  btst #1,$dff00c
  78.  sne d0
  79.  btst #1,$dff00d
  80.  sne d1
  81.  btst #0,$dff00c
  82.  sne d2
  83.  btst #0,$dff00d
  84.  sne d3
  85.  eor.b d0,d2
  86.  eor.b d1,d3
  87.  
  88.  cmp.b #'s',mors
  89.  beq.s .slavechk
  90.  tst.b PLR1JOY
  91.  bne.s .nofing
  92.  bra.s .maschk
  93. .slavechk:
  94.  tst.b PLR2JOY
  95.  bne.s .nofing
  96.  
  97. .maschk:
  98.  
  99.  moveq #0,d6
  100.  move.l #KeyMap,a5
  101.  move.b forward_key,d6
  102.  tst.b (a5,d6.w)
  103.  sne d0
  104.  or.b d0,d2
  105.  move.b backward_key,d6
  106.  tst.b (a5,d6.w)
  107.  sne d1
  108.  or.b d1,d3
  109. .nofing:
  110.  
  111.  rts
  112.  
  113. CHANGEPOPTS:
  114.  
  115.  bsr CHECKUPDOWN
  116.  
  117.  
  118.  tst.b d3
  119.  beq.s nobotchange
  120.  
  121.  move.w BOTPOPT,d0
  122.  addq #1,d0
  123.  and.w #3,d0
  124.  move.w d0,BOTPOPT
  125.  clr.b ANYFLOOR
  126.  clr.b GOURSEL
  127.  st CLRNOFLOOR
  128.  move.l #SimpleFloorLine,THEFLOORLINE
  129.  cmp.w #2,d0
  130.  bgt.s .nofloor
  131.  beq.s .plainfloor
  132.  tst.w d0
  133.  bgt.s .textureonly
  134.  st GOURSEL
  135. .textureonly
  136.  move.l #FloorLine,THEFLOORLINE
  137. .plainfloor
  138.  st ANYFLOOR
  139.  clr.b CLRNOFLOOR
  140. .nofloor:
  141.  
  142.  muls #12,d0
  143.  add.l #FLOOROPTS,d0
  144.  move.l d0,a0
  145.  move.l #FLOOROPTLINE,a1
  146.  bsr PUTINPLINE
  147.  
  148.  bsr DRAWPAUSESCRN
  149.  
  150. billythe
  151.  bsr CHECKUPDOWN
  152.  tst.b d3
  153.  bne.s billythe
  154.  
  155. nobotchange:
  156.  
  157.  tst.b d2
  158.  beq notopchange
  159.  move.w TOPPOPT,d0
  160.  addq #1,d0
  161.  and.w #3,d0
  162.  move.w d0,TOPPOPT
  163.  move.b STEROPT(pc,d0.w*2),STEREO
  164.  
  165.  move.b STEROPT+1(pc,d0.w*2),d1
  166.  move.b d1,Prefsfile+1
  167.  
  168.  bra pastster
  169.  
  170.  STEROPT:
  171.  dc.b 0,4
  172.  dc.b $FF,4
  173.  dc.b 0,8
  174.  dc.b $ff,8
  175.  
  176. pastster:
  177.  
  178.  cmp.b #'4',d1
  179.  seq.s CHANNELDATA+8
  180.  seq.s CHANNELDATA+12
  181.  seq.s CHANNELDATA+24
  182.  seq.s CHANNELDATA+28
  183.  
  184.  move.w #$f,$dff000+dmacon
  185.  move.l #null,$dff0a0
  186.  move.w #100,$dff0a4
  187.  move.w #443,$dff0a6
  188.  move.w #63,$dff0a8
  189.  
  190.  move.l #null2,$dff0b0
  191.  move.w #100,$dff0b4
  192.  move.w #443,$dff0b6
  193.  move.w #63,$dff0b8
  194.  
  195.  move.l #null4,$dff0c0
  196.  move.w #100,$dff0c4
  197.  move.w #443,$dff0c6
  198.  move.w #63,$dff0c8
  199.  
  200.  move.l #null3,$dff0d0
  201.  move.w #100,$dff0d4
  202.  move.w #443,$dff0d6
  203.  move.w #63,$dff0d8
  204.  
  205.  move.w #$820f,$dff000+dmacon
  206.  
  207.  muls #12,d0
  208.  add.l #SOUNDOPTS,d0
  209.  move.l d0,a0
  210.  move.l #SOUNDOPTLINE,a1
  211.  bsr PUTINPLINE
  212.  
  213.  bsr DRAWPAUSESCRN
  214.  
  215. billythetop
  216.  bsr CHECKUPDOWN
  217.  tst.b d2
  218.  bne.s billythetop
  219.  
  220.  
  221. notopchange
  222.  
  223.  rts
  224.  
  225.  
  226. THEFLOORLINE: dc.l FloorLine
  227. USECOPBUFFER: dc.w 0
  228. TOPPOPT: dc.w 0
  229. BOTPOPT: dc.w 0
  230. ANYFLOOR: dc.w 0
  231.  
  232. PUTINPLINE:
  233.  moveq #11,d7
  234. .pppp
  235.  move.b (a0)+,(a1)+
  236.  dbra d7,.pppp
  237.  rts
  238.  
  239. pbuffpt: dc.l 0
  240. pausept: dc.l 0
  241.  
  242. DRAWPAUSESCRN:
  243.  move.l #PAUSEFONT,a0
  244.  move.l #PAUSETXT,a1
  245.  move.l pausept,a2
  246.  move.l pbuffpt,a3
  247.  bsr DRAWPAUSEBLOCK
  248.  add.w #4,a2
  249.  add.w #4,a3
  250.  bsr DRAWPAUSEBLOCK
  251.  add.w #4,a2
  252.  add.w #4,a3
  253.  bsr DRAWPAUSEBLOCK
  254.  rts
  255.  
  256. DRAWPAUSEBLOCK:
  257.  move.w #3,d0
  258. .across:
  259.  moveq #0,d1
  260.  moveq #0,d2
  261.  moveq #9,d3
  262.  moveq #0,d5
  263. .down:
  264.  moveq #0,d4
  265.  move.b (a1,d2.w),d4
  266.  add.w #12,d2
  267.  sub.b #'A',d4
  268.  bge .itsalet
  269.  
  270.  moveq #7,d6
  271. .dospc:
  272.  move.w (a3,d5.l),d1
  273.  and.w #$eee,d1
  274.  lsr.w #1,d1
  275.  move.w d1,(a2,d5.l)
  276.  move.w 4(a3,d5.l),d1
  277.  and.w #$eee,d1
  278.  lsr.w #1,d1
  279.  move.w d1,4(a2,d5.l)
  280.  move.w 8(a3,d5.l),d1
  281.  and.w #$eee,d1
  282.  lsr.w #1,d1
  283.  move.w d1,8(a2,d5.l)
  284.  move.w 12(a3,d5.l),d1
  285.  and.w #$eee,d1
  286.  lsr.w #1,d1
  287.  move.w d1,12(a2,d5.l)
  288.  move.w 16(a3,d5.l),d1
  289.  and.w #$eee,d1
  290.  lsr.w #1,d1
  291.  move.w d1,16(a2,d5.l)
  292.  move.w 20(a3,d5.l),d1
  293.  and.w #$eee,d1
  294.  lsr.w #1,d1
  295.  move.w d1,20(a2,d5.l)
  296.  move.w 24(a3,d5.l),d1
  297.  and.w #$eee,d1
  298.  lsr.w #1,d1
  299.  move.w d1,24(a2,d5.l)
  300.  move.w 28(a3,d5.l),d1
  301.  and.w #$eee,d1
  302.  lsr.w #1,d1
  303.  move.w d1,28(a2,d5.l)
  304.  add.l #104*4,d5
  305.  dbra d6,.dospc
  306.  bra .nolet
  307.  
  308. .itsalet:
  309.  asl.w #7,d4
  310.  lea (a0,d4.w),a5
  311.  moveq #7,d6
  312. .dolet: 
  313.  move.w (a5)+,d1
  314.  bne.s .okpix1
  315.  move.w (a3,d5.l),d1
  316.  and.w #$eee,d1
  317.  lsr.w #1,d1
  318. .okpix1:
  319.  move.w d1,(a2,d5.l)
  320.  move.w (a5)+,d1
  321.  bne.s .okpix2
  322.  move.w 4(a3,d5.l),d1
  323.  and.w #$eee,d1
  324.  lsr.w #1,d1
  325. .okpix2:
  326.  move.w d1,4(a2,d5.l)
  327.  move.w (a5)+,d1
  328.  bne.s .okpix3
  329.  move.w 8(a3,d5.l),d1
  330.  and.w #$eee,d1
  331.  lsr.w #1,d1
  332. .okpix3:
  333.  move.w d1,8(a2,d5.l)
  334.  move.w (a5)+,d1
  335.  bne.s .okpix4
  336.  move.w 12(a3,d5.l),d1
  337.  and.w #$eee,d1
  338.  lsr.w #1,d1
  339. .okpix4:
  340.  move.w d1,12(a2,d5.l)
  341.  move.w (a5)+,d1
  342.  bne.s .okpix5
  343.  move.w 16(a3,d5.l),d1
  344.  and.w #$eee,d1
  345.  lsr.w #1,d1
  346. .okpix5:
  347.  move.w d1,16(a2,d5.l)
  348.  move.w (a5)+,d1
  349.  bne.s .okpix6
  350.  move.w 20(a3,d5.l),d1
  351.  and.w #$eee,d1
  352.  lsr.w #1,d1
  353. .okpix6:
  354.  move.w d1,20(a2,d5.l)
  355.  move.w (a5)+,d1
  356.  bne.s .okpix7
  357.  move.w 24(a3,d5.l),d1
  358.  and.w #$eee,d1
  359.  lsr.w #1,d1
  360. .okpix7:
  361.  move.w d1,24(a2,d5.l)
  362.  move.w (a5)+,d1
  363.  bne.s .okpix8
  364.  move.w 28(a3,d5.l),d1
  365.  and.w #$eee,d1
  366.  lsr.w #1,d1
  367. .okpix8:
  368.  move.w d1,28(a2,d5.l)
  369.  add.l #104*4,d5
  370.  dbra d6,.dolet
  371.  
  372. .nolet:
  373.  dbra d3,.down
  374.  add.w #4*8,a3
  375.  add.w #4*8,a2
  376.  addq #1,a1
  377.  dbra d0,.across 
  378.  
  379.  rts
  380.  
  381. PAUSETXT:
  382. ;      012345678901
  383.  dc.b '            '    0
  384.  dc.b '            '    1
  385.  dc.b 'SFX  QUALITY'    2
  386. SOUNDOPTLINE:
  387.  dc.b '            '    3
  388.  dc.b '            '    4
  389.  dc.b 'FLOOR DETAIL'    5
  390. FLOOROPTLINE:
  391.  dc.b '  GOURAUD   '    6
  392.  dc.b '            '    7
  393.  dc.b '            '    8
  394.  dc.b '            '    9
  395.  
  396. SOUNDOPTS:
  397.  dc.b 'FOUR CH MONO'
  398.  dc.b ' FOUR CH ST '
  399.  dc.b 'EIGHT C MONO'
  400.  dc.b ' EIGHT C ST '
  401.  
  402. FLOOROPTS:
  403.  dc.b '  GOURAUD   '
  404.  dc.b '  TEXTURED  '
  405.  dc.b 'PLAIN SHADED'
  406.  dc.b '    NONE    '
  407.  
  408. PAUSEFONT:
  409.  incbin "ab3:includes/PAUSEFONT"